<script>on closeFieldglobal OldNameif me is empty then put oldName into meif the length of me > 33 then put char 1 to 33 of me into merepeatif char 1 of me = " " then delete char 1 of meelse exit repeatend repeatput changetheCase(me) into meif me = OldName then exit closefieldif me contains return then RemoveReturnscheckCommasif there is not a card methen----- updates index and sets card name to = me ------------set the name of this card to meUpdateIndexesput empty into OldNamesend SwitchOn to bg button "sort"-- set icon of bg button sort to "Sort"select text of bg field "Mailing"------------------------------------------------------------elseAnswer "There is already a record for:" && meif last word of me is a numberthenif the number of words in me = 1thenselect text of meexit closefieldend ifadd 1 to last word of meelseput me && "2" into meend ifsend closefield to meselect text of meend ifend closeFieldon exitFieldif me contains returnthenRemoveReturnsset the name of this card to meend ifend exitfieldon OpenFieldglobal OldNameput me into OldNameend OpenFieldon UpdateIndexesglobal OldNameset cursor to watchput me into NewName-- Update All Records Index -----------------------------------if OldName is not emptythenput (the length of OldName + 1) into StringLengthput offset (return & OldName & return,bg field "All Records index") ¬into TheChardelete char (theChar + 1) to (thechar + StringLength) ¬of bg field "All Records index"end ifput NewName & return before bg field "all Records index"sort bg field "All Records Index"---------------------------------------------------------------PutCardsInOrder -- simply sets the new record variable to true-- PutCardsInOrderB -- slow way to sort right now-- PutCardsInOrderC -- slow way to sort right now-- update people / business index -----------------------------if hilight of bg button "business" is truethenif Oldname is not emptythenput offset (return & OldName & return,bg field "business index") ¬into TheChardelete char (theChar + 1) to (thechar + StringLength) ¬of bg field "business index"end ifput NewName & return before bg field "business index"sort bg field "Business index"elseif oldName is not emptythenput offset (return & OldName & return,bg field "people index") ¬into TheChardelete char (theChar + 1) to (thechar + StringLength) ¬of bg field "people index"end ifput NewName & return before bg field "people index"sort bg field "people index"end if-- Update Mail Index -----------------------------------if hilight of bg button "Mail" is truethenif OldName is not emptythenput offset (return & OldName & return,bg field "mail index") ¬into TheChardelete char (theChar + 1) to (thechar + StringLength) ¬of bg field "mail index"end ifput NewName & return before bg field "Mail index"sort bg field "Mail index"end ifend UpdateIndexeson PutCardsInOrderglobal NewRecordput "True" into NewRecordend PutCardsInOrderon PutCardsInOrderBput the ticks into StartTimelock screenpush cardsort cards of this bg by bg field "name"pop cardunlock screenput the ticks - StartTimeend putCardsInOrderBon PutCardsInOrderCput the ticks into StartTimeset cursor to watchput short name of this card into CardNameput bg field "all records index" into bg field "findindex"find whole CardName in bg field "findIndex"if the result is emptythenput the second word of the foundline into CardNolock screenif cardNo > 1thendomenu "cut Card"go to card CardNo-1 of bg recordsdomenu "Paste Card"else-- puts card in first positiondomenu "cut Card"go card 1 of this bgdomenu "Paste Card"go card 1 of this bgdomenu "cut Card"domenu "Paste Card"go card 1 of this bgend ifselect text of medomenu "copy text"unlock screenend ifput empty into bg field "findIndex"put the ticks - StartTimeend PutCardsInOrderCon checkCommasput me into TheTextif the number of items in me > 2then --------------- remove the superfluous commasput 0 into TheCountrepeat with z = 1 to the number of characters in TheTextif char z of TheText = ","thenadd 1 to TheCountif TheCount > 1 then put " " into Char z of TheTextend ifend repeatelseput 0 into TheCountrepeat with z = 1 to the number of characters in TheTextif char z of TheText = ","thenadd 1 to TheCountif TheCount > number of items in me -1 then put " " into Char z of TheTextend ifend repeatend ifrepeatif char 1 of item 2 of TheText = " " then delete char 1 of item 2 of TheTextelse exit repeatend repeatput TheText into meend checkCommason mouseenterFullBalloons showDirect,"Enter NAME here in this format:" & return &¬"LAST NAME,FIRST NAME(S)" & return & return &¬"Capitalization is automatic & names are limited to 33 characters."end mouseenter</script>
</part>
<part>
<id>3</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <true /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <true /> </autoTab>
<lockText> <false /> </lockText>
<rect>
<left>64</left>
<top>79</top>
<right>270</right>
<bottom>99</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <true /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Times</font>
<textSize>14</textSize>
<textStyle>condense</textStyle>
<textHeight>15</textHeight>
<name>Mailing</name>
<script>on closeFieldif me contains return then RemoveReturnsput changetheCase(me) into meif first word of me = "po" then put "PO" into first word of meend closeFieldon exitFieldif me contains return then CloseFieldend exitfieldon mouseenterFullBalloons showDirect,"Enter MAILING ADDRESS here." &&¬"Capitalization is handled automatically."end mouseenter</script>
</part>
<part>
<id>4</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <true /> </autoTab>
<lockText> <false /> </lockText>
<rect>
<left>65</left>
<top>94</top>
<right>271</right>
<bottom>114</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <true /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Times</font>
<textSize>14</textSize>
<textStyle>plain</textStyle>
<textHeight>15</textHeight>
<name>Street</name>
<script>on closeFieldif me contains return then RemoveReturnsput changeTheCase(me) into meend closeFieldon exitFieldif me contains return then CloseFieldend exitfieldon mouseenterFullBalloons showDirect,"If the physical street address is different" &&¬"from the mailing address, you can enter the street address here." &¬return & "(Useful for places with PO Box mailing addresses.)"end mouseenter</script>
</part>
<part>
<id>5</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <true /> </autoTab>
<lockText> <false /> </lockText>
<rect>
<left>65</left>
<top>109</top>
<right>271</right>
<bottom>129</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <true /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Times</font>
<textSize>14</textSize>
<textStyle>plain</textStyle>
<textHeight>15</textHeight>
<name>CityState</name>
<script>on closeFieldglobal CapsOnif me contains return then RemoveReturnsput changeTheCase(me) into meend closeFieldon exitFieldif me contains return then CloseFieldend exitfieldon mouseenterFullBalloons showDirect,"Enter CITY here. The two letter state" &&¬"abbreviation will be added automatically to this field when you enter the zip code."end mouseenter</script>
</part>
<part>
<id>7</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <true /> </autoTab>
<lockText> <false /> </lockText>
<rect>
<left>65</left>
<top>124</top>
<right>271</right>
<bottom>144</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <true /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Times</font>
<textSize>14</textSize>
<textStyle>plain</textStyle>
<textHeight>15</textHeight>
<name>Zip</name>
<script>on closefieldif me is empty then exit closefieldelseif me contains return then RemoveReturnsget zipCheck(me)if it is empty then exit closefieldput " " & it into Stateif item 2 of bg field "CityState" <> Statethen put State into item 2 of bg field "CityState"end ifend closeFieldon exitFieldif me contains return then CloseFieldend exitfieldon mouseenterFullBalloons showDirect,"Enter Zip Code here. Two letter state" &&¬"abbreviation will be added to the field above automatically."end mouseenter</script>
</part>
<part>
<id>2</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <true /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <true /> </autoTab>
<lockText> <false /> </lockText>
<rect>
<left>89</left>
<top>158</top>
<right>272</right>
<bottom>175</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <true /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Times</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<textHeight>16</textHeight>
<name>HPhone1</name>
<script>on closeFieldif me contains return then RemoveReturnsif me contains "," then CheckCommasput FormatePHone(me) into meput changeTheCase(me) into meend closeFieldon exitFieldif me contains return then RemoveReturnsend exitfieldon checkCommas -- THIS INSURES COMPATIBILITY WITH CC PROGRAMput me into TheTextrepeat with z = 1 to the number of characters in TheTextif char z of TheText = "," then put " " into Char z of TheTextend repeatput TheText into meend checkCommason mouseenterFullBalloons showDirect,"Enter phone number here. In most cases" &&¬"you numbers will be automatically formated for you." & return &¬"Click the phone button to the left to dial."end mouseenter</script>
</part>
<part>
<id>59</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <true /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <true /> </autoTab>
<lockText> <false /> </lockText>
<rect>
<left>89</left>
<top>173</top>
<right>272</right>
<bottom>190</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <true /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Times</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<textHeight>16</textHeight>
<name>HPhone2</name>
<script>on closeFieldif me contains return then RemoveReturnsput FormatePHone(me) into meput changeTheCase(me) into meend closeFieldon exitFieldif me contains return then RemoveReturnsend exitfieldon mouseenterFullBalloons showDirect,"Enter phone number here. In most cases" &&¬"you numbers will be automatically formated for you." & return &¬"Click the phone button to the left to dial."end mouseenter</script>
</part>
<part>
<id>60</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <true /> </autoTab>
<lockText> <false /> </lockText>
<rect>
<left>89</left>
<top>188</top>
<right>272</right>
<bottom>205</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <true /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Times</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<textHeight>16</textHeight>
<name>WPhone1</name>
<script>on closeFieldif me contains return then RemoveReturnsput FormatePHone(me) into meput changeTheCase(me) into meend closeFieldon exitFieldif me contains return then RemoveReturnsend exitfieldon mouseenterFullBalloons showDirect,"Enter phone number here. In most cases" &&¬"you numbers will be automatically formated for you." & return &¬"Click the phone button to the left to dial."end mouseenter</script>
</part>
<part>
<id>61</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <true /> </autoTab>
<lockText> <false /> </lockText>
<rect>
<left>89</left>
<top>203</top>
<right>272</right>
<bottom>220</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <true /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Times</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<textHeight>16</textHeight>
<name>WPhone2</name>
<script>on closeFieldif me contains return then RemoveReturnsput FormatePHone(me) into meput changeTheCase(me) into meend closeFieldon exitFieldif me contains return then RemoveReturnsend exitfieldon mouseenterFullBalloons showDirect,"Enter phone number here. In most cases" &&¬"you numbers will be automatically formated for you." & return &¬"Click the phone button to the left to dial."end mouseenter</script>
</part>
<part>
<id>9</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <true /> </autoTab>
<lockText> <false /> </lockText>
<rect>
<left>65</left>
<top>240</top>
<right>271</right>
<bottom>288</bottom>
</rect>
<style>scrolling</style>
<autoSelect> <false /> </autoSelect>
<showLines> <true /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Times</font>
<textSize>14</textSize>
<textStyle>plain</textStyle>
<textHeight>15</textHeight>
<name>Birthday</name>
<script>on closefieldset cursor to watchrepeat with x = number of lines in me down to 1if line x of me is empty then delete line x of meelsebeep-- use this space to verify the proper format-- "date,description"end ifend repeatend closefieldon mouseenterFullBalloons showDirect,"I hold information such as Birthdays and" &&¬"Anniversaries. Information should be entered in this format:" & return &¬"Date, Description of event"end mouseenter</script>
</part>
<part>
<id>11</id>
<type>field</type>
<visible> <false /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <true /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <false /> </lockText>
<rect>
<left>273</left>
<top>140</top>
<right>505</right>
<bottom>288</bottom>
</rect>
<style>scrolling</style>
<autoSelect> <false /> </autoSelect>
<showLines> <true /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Times</font>
<textSize>14</textSize>
<textStyle>plain</textStyle>
<textHeight>15</textHeight>
<name>Notes</name>
<script></script>
</part>
<part>
<id>17</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <true /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <true /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>65535</left>
<top>30</top>
<right>62</right>
<bottom>63</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>right</textAlign>
<font>Times</font>
<textSize>14</textSize>
<textStyle>plain</textStyle>
<textHeight>15</textHeight>
<name></name>
<script></script>
</part>
<part>
<id>18</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>70</left>
<top>203</top>
<right>87</right>
<bottom>219</bottom>
</rect>
<style>transparent</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>159</icon>
<textAlign>right</textAlign>
<font>Geneva</font>
<textSize>9</textSize>
<textStyle>plain</textStyle>
<name>Phone Number 1</name>
<script>on mouseDownplay "click"end mouseDownon mouseUpdialNumber "WPhone2"end mouseUpon mouseenterFullBalloons showDirect,"Click me to dial the number to the right."end mouseenter</script>
</part>
<part>
<id>19</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>70</left>
<top>188</top>
<right>87</right>
<bottom>204</bottom>
</rect>
<style>transparent</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>159</icon>
<textAlign>right</textAlign>
<font>Geneva</font>
<textSize>9</textSize>
<textStyle>plain</textStyle>
<name>Phone Number 1</name>
<script>on mouseDownplay "click"end mouseDownon mouseUpdialNumber "WPhone1"end mouseUpon mouseenterFullBalloons showDirect,"Click me to dial the number to the right."end mouseenter</script>
</part>
<part>
<id>20</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>70</left>
<top>173</top>
<right>87</right>
<bottom>189</bottom>
</rect>
<style>transparent</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>159</icon>
<textAlign>right</textAlign>
<font>Geneva</font>
<textSize>9</textSize>
<textStyle>plain</textStyle>
<name>Phone Number 1</name>
<script>on mouseDownplay "click"end mouseDownon mouseUpdialNumber "HPhone2"end mouseUpon mouseenterFullBalloons showDirect,"Click me to dial the number to the right."end mouseenter</script>
</part>
<part>
<id>21</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>70</left>
<top>158</top>
<right>87</right>
<bottom>174</bottom>
</rect>
<style>transparent</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>159</icon>
<textAlign>right</textAlign>
<font>Geneva</font>
<textSize>9</textSize>
<textStyle>plain</textStyle>
<name>Phone Number 1</name>
<script>on mouseDownplay "click"end mouseDownon mouseUpdialNumber "HPhone1"end mouseUpon mouseenterFullBalloons showDirect,"Click me to dial the number to the right."end mouseenter</script>
</part>
<part>
<id>22</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>175</left>
<top>225</top>
<right>259</right>
<bottom>239</bottom>
</rect>
<style>checkbox</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <false /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Mail</name>
<script>on mouseDownplay "click"end mouseDownon mouseUpset cursor to watchput the short name of this card into CardNameif hilight of me is truethenput CardName & return before bg field "Mail index"sort bg field "Mail index"elseput (the length of CardName + 1) into StringLengthput offset (return & CardName & return,bg field "mail index") into TheChardelete char (theChar + 1) to (thechar + StringLength) ¬of bg field "mail index"end ifend mouseUpon mouseenterFullBalloons showDirect,"Click me to add this record to your mailing" &&¬"list." & return & "(X = Marked to mail)"end mouseenter</script>
</part>
<part>
<id>23</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>92</left>
<top>225</top>
<right>176</right>
<bottom>239</bottom>
</rect>
<style>checkbox</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <false /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Business</name>
<script>on mouseDownplay "click"end mouseDownon mouseUpset cursor to watchput the short name of this card into CardNameput (the length of CardName + 1) into StringLengthif hilight of me is truethenput CardName & return before bg field "business index"sort bg field "business index"put offset (return & CardName & return,bg field "people index") into TheChardelete char (theChar + 1) to (thechar + StringLength) ¬of bg field "people index"elseput CardName & return before bg field "people index"sort bg field "people index"put offset (return & CardName & return,bg field "business index") into TheChardelete char (theChar + 1) to (thechar + StringLength) ¬of bg field "business index"end ifend mouseUpon mouseenterFullBalloons showDirect,"Click me to mark a record as a business record." &&¬"This adds the record to the Business Index" & return & "X = Business Record"end mouseenter</script>
</part>
<part>
<id>26</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>325</left>
<top>23</top>
<right>357</right>
<bottom>68</bottom>
</rect>
<style>transparent</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>141</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Notes</name>
<script>on mouseDownplay clickend mousedownon mouseUpset cursor to watchif there is not a window notesthentextoid Notes,"bg field Notes",BigWindoidZoom,Black,rect of bg field "Notes"¬,true,the textFont of bg field Notes,the textSize of bg field Notes,Plainset the textWrap of window notes to trueset the locktext of window notes to falseset dontsearch of bg field "notes" to falseelseshow window notesend ifend mouseUpon mouseenterFullBalloons showDirect,"Click me to show a NOTES window to jot" &&¬"down extra information about each record."end mouseenter-- global IndexShow-- if visible of bg field "index" = true-- then-- set icon of bg button "HideIndex" to "Clicked Close Box"-- send mouseup to bg button "HideIndex"-- put "true" into IndexShow-- else put "false" into IndexShow-- set hilight of me to true-- set hilight of bg button "index" to false-- show bg field "Notes"-- show bg button " Notes"-- show bg button "Close"-- unlock screen with visual wipe up very fast-- set dontsearch of bg field "notes" to false</script>
</part>
<part>
<id>27</id>
<type>button</type>
<visible> <false /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>273</left>
<top>122</top>
<right>505</right>
<bottom>141</bottom>
</rect>
<style>rectangle</style>
<showName> <true /> </showName>
<highlight> <true /> </highlight>
<autoHighlight> <false /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name> Notes</name>
<script>on mouseupanswer "Would you like to print the notes or sort the selected text?"¬with print or sort or cancelif it is print then printitif it is sort then sortitend mouseupon sortitget selectionif it is empty then exit sortitsort lines of itput it into selectionend sortiton printitlock screenput bg field "name" & Return & return before bg Field Notesprint bg field "Notes"delete line 1 of bg field notesdelete line 1 of bg field notesunlock screenend printit</script>
</part>
<part>
<id>33</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>255</left>
<top>20</top>
<right>273</right>
<bottom>42</bottom>
</rect>
<style>transparent</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>136</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Next</name>
<script>on mouseDownplay "click"set cursor to watchmouseStillDownend mouseDownon mouseStillDownset cursor to watchlock screengo to next card of this backgroundunlock screen with visual effect wipe left very fastset cursor to handend mouseStillDownon mouseenterFullBalloons showDirect,"Click me to go to the next record."end mouseenter-- on mouseStillDown -- experimental script on going the direction of the cursor-- set cursor to watch-- lock screen-- if item 1 of the mouseLoc < the left of me-- then go to prev card of this background-- else go to next card of this background-- unlock screen with visual effect wipe left very fast-- set cursor to hand-- end mouseStillDown</script>
</part>
<part>
<id>34</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>237</left>
<top>20</top>
<right>255</right>
<bottom>42</bottom>
</rect>
<style>transparent</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>137</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Prev</name>
<script>on mouseDownplay "click"set cursor to watchmouseStillDownend mouseDownon mouseStillDownset cursor to watchlock screengo to prev card of this backgroundunlock screen with visual effect wipe right very fastset cursor to handend mouseStillDownon mouseenterFullBalloons showDirect,"Click me to go to the previous record."end mouseenter</script>
</part>
<part>
<id>35</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>475</left>
<top>74</top>
<right>507</right>
<bottom>119</bottom>
</rect>
<style>transparent</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>151</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Remind</name>
<script>on mousedownplay clickend mousedownon mouseUpoopsbeep-- push card-- visual zoom open-- go bg calendarbeepend mouseUpon mouseenterFullBalloons showDirect,"This feature has not been added yet."end mouseenter</script>
</part>
<part>
<id>36</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>475</left>
<top>23</top>
<right>507</right>
<bottom>68</bottom>
</rect>
<style>transparent</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>134</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Delete</name>
<script>on mousedownplay clickend mousedownon mouseUpset cursor to watchif the commandKey is downthenanswer "Warning! Because the COMMAND KEY was down you have entered"&&¬"a special delete mode for deleting many cards." & return &¬"Do you want to continue?" with "yes" or "Cancel"if it is Cancel then exit mouseupDeleteMultipleexit mouseupend ifif the optionKey is not downthenplay "knock3"Answer "Are you sure you want to delete this record?"¬with "Yes" or "Cancel"if it = "Cancel" then exit mouseupend ifDeleteSingleend mouseUpon DeleteSingleset cursor to watchif the number of cards in this bg = 1thenClearCardexit DeleteSingleend ifput the short name of this card into CardNameput (the length of CardName + 1) into StringLength-- delete the cardName from either the business or people indexif hilight of bg button "business" is truethenput offset (return & CardName & return,bg field "business index") ¬into TheChardelete char (theChar + 1) to (thechar + StringLength) ¬of bg field "business index"elseput offset (return & CardName & return,bg field "people index") ¬into TheChardelete char (theChar + 1) to (thechar + StringLength) ¬of bg field "people index"end if-- delete the cardName from the mail indexif hilight of bg button "mail" is truethenput offset (return & CardName & return,bg field "mail index") ¬into TheChardelete char (theChar + 1) to (thechar + StringLength) ¬of bg field "mail index"end if-- delete the cardName from the all records indexput offset (return & CardName & return,bg field "all records index") ¬into TheChardelete char (theChar + 1) to (thechar + StringLength) ¬of bg field "all records index"-- actually delete the cardset cursor to watchlock screenpush next card of this bgplay "tear"put "domenu" && quote & "Delete Card" & quote into theMessagesend theMessage to HyperCardpop cardend DeleteSingleon ClearCardif there is a window "notes" then close window "notes"if there is a window "gifts" then close window "gifts"send openfield to bg field Namerepeat with x = 1 to the number of bg fieldsif the locktext of bg field x is false then put empty into bg field xend repeatset hilight of bg button "business" to falseset hilight of bg button "mail" to falseput " Empty" into bg field "Name"send closefield to bg field Nameend ClearCardon DeleteMultiple-- Answer "Do you want to delete marked cards or a range of cards?"¬-- with "Marked" or "Range" or "Cancel"-- if it = "Cancel" then exit DeleteMultiple-- put it into TypeDeleteput "Range" into TypeDelete -- don't give user a choice----- Answer "Do you want to delete protected cards and backgrounds?"¬-- with "Yes" or "No" or "Cancel"-- if it = "Cancel" then exit DeleteMultiple-- put it into DeProtectput "no" into DeProtect -- don't give user a choice---if TypeDelete = "Range" then DeleteRange DeProtectelse DeleteMarked DeProtecthide messageglobal NewRecordput "true" into NewRecordend DeleteMultipleon DeleteRange DeProtectset lockMessages to trueset lockRecent to trueput the number of the first card of this bg -1 into StartNoput number of this card - startno into ThisCardNoput the number of cards in this bg into LastCardNoask "Enter the number of the card you wish to start with?"¬with ThisCardNoif it < 1 then exit DeleteRangeif it is empty then exit DeleteRangeif it is not a number then exit DeleteRangeput it into StartCardgo to card startCard of this bg---ask "Enter the number of the card you wish to end with?"¬with LastCardNoif it > LastCardNo then exit DeleteRangeif it < startCard then exit DeleteRangeif it is empty then exit DeleteRangeif it is not a number then exit DeleteRangeput it into endCard---set cursor to watchlock screenrepeat with i = startCard to endCardif DeProtect = "Yes"thenset cantDelete of this card to Falseput "unpotecting card" && the short name of this cardset cantDelete of this background to Falseput "unpotecting background" && the short name of this bgend ifput "deleting card" && the short name of this cardif the number of cards in this bg = 1 then ClearCardelseput "domenu" && quote & "Delete Card" & quote into theMessagesend theMessage to HyperCardend ifend repeatgo to last card of bg "Records"send "repairStack" to bg button "Repair" -- creates indexes & a little moreend DeleteRangeon mouseenterFullBalloons showDirect,"Click me to delete this record." && ¬"Hold down the OPTION KEY when clicking if you want to skip warning." &&¬"Hold down the COMMAND KEY to delete multiple records."end mouseenter</script>
</part>
<part>
<id>40</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>442</left>
<top>23</top>
<right>474</right>
<bottom>68</bottom>
</rect>
<style>transparent</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>138</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>New</name>
<script>on mousedownplay clickend mousedownon mouseUpask "Please enter the name for this new record" & return & "(Last,First):"repeatif it is empty then exit Mouseupif char 1 of it = " " then delete char 1 of itelse exit repeatend repeatAddNewCard itsend SwitchON to bg button "Sort"-- set icon of bg button sort to "sort"end mouseUpon AddNewCard Nameset cursor to watchvisual scroll down fastput "domenu" && quote & "New Card" & Quote into TheMessagesend TheMessage to hypercardif name is not emptythenPut Name into bg field "name"send closeField to bg field "name"end ifend AddNewCardon mouseenterFullBalloons showDirect,"Click me to add a new record."end mouseenter</script>
</part>
<part>
<id>43</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>409</left>
<top>74</top>
<right>441</right>
<bottom>119</bottom>
</rect>
<style>transparent</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>135</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Find</name>
<script>on mousedownplay "click"end mousedownon mouseUpset cursor to watchif the OptionKey is not down then findItelse FindAgainend mouseUpon mouseenterFullBalloons showDirect,"Lets you perform word searches." & return &¬"Notes:" & return &¬"• If you type multiple words and select" &&¬"'partial word' the search will find any record that contains" &&¬"all the words anywhere in the record." & return & ¬"• OPTION KEY & click =" &&¬"find again." & return & "• NOTES window is ignored unless visible."end mouseenter</script>
</part>
<part>
<id>44</id>
<type>field</type>
<visible> <false /> </visible>
<dontWrap> <true /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <true /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>176</left>
<top>79</top>
<right>297</right>
<bottom>213</bottom>
</rect>
<style>scrolling</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <true /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Helvetica</font>
<textSize>10</textSize>
<textStyle>plain</textStyle>
<textHeight>13</textHeight>
<name>All Records Index</name>
<script>on mouseuphide meend mouseup</script>
</part>
<part>
<id>56</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>292</left>
<top>23</top>
<right>324</right>
<bottom>68</bottom>
</rect>
<style>transparent</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>139</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Index</name>
<script>-- FullHPop(<menu>[,<loc>][,<selected item>][,<Font[,size]>][,<checkMark>][,<sub owner select>][,"fastest"])on mouseDownplay "click"global IndexType,DontShowput "All Records Index,Business Index,People Index,Mail Index" into TheList-- if indexType is not in TheList then put "All Records Index" into indexTyperepeat with x = 1 to the number of items in TheListif IndexType = item x of TheListthenput x into SelectNumberexit repeatend ifend repeatget FullHPop(TheList,1,SelectNumber)if it ≠ emptythenif there is a menuItem IndexType of menu "Go"then set checkMark of menuItem IndexType of menu "Go" to falseput item 1 of it into IndexTypeput indexType into bg field "IndexType"if there is a menuItem IndexType of menu "Go"then set checkMark of menuItem IndexType of menu "Go" to trueshowIndexput True into DontShowelseexit Mousedownend ifend mouseDownon mouseupglobal DontShowif DontShow is not true then showIndexput False into DontShowend mouseupon showIndexglobal IndexTypeset cursor to watchput "All Records Index,Business Index,People Index,Mail Index" into TheListif indexType is not in TheListthenput "All Records Index" into indexTypeset checkMark of menuItem IndexType of menu "Go" to trueend if-------------------------------------------------------------------------get XScrollBox(1,IndexType &" / Type Name or Select:",bg field IndexType," New ")if it is empty then exit showIndexif it = " New " then send mouseup to bg button "new"else if it is not emptythenset cursor to watchdelete item 1 of itlock screengo cd itunlock screen with visual effect scroll down fastend ifend showIndexon mouseenterFullBalloons showDirect,"Click me to show current index." & return &¬"Hold down the mouse to get a pop up menu to choose a different index."end mouseenter</script>
</part>
<part>
<id>62</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>442</left>
<top>74</top>
<right>474</right>
<bottom>119</bottom>
</rect>
<style>transparent</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>131</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Return</name>
<script>on mousedownplay clickend mousedownon mouseUpset cursor to watchif there is not a window "Return_Address"thenput "Bg Field" && Quote & "Return_Address" & Quote into TheFieldtextoid "Return_Address",TheField,BigWindoid,Black,rect of bg field "Return_Address"¬,true,the textFont of bg field "Return_Address",the textSize of bg field "Return_Address",Plainset the textWrap of window "Return_Address" to trueset the locktext of window "Return_Address" to falseelseshow window "Return_Address"end ifend mouseUpon mouseenterFullBalloons showDirect,"Edit return address information." & return &¬"Note: You can use fully styled text for your return address with any fonts."end mouseenter</script>
</part>
<part>
<id>63</id>
<type>field</type>
<visible> <false /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <true /> </dontSearch>
<sharedText> <true /> </sharedText>
<fixedLineHeight> <false /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>113</left>
<top>104</top>
<right>376</right>
<bottom>201</bottom>
</rect>
<style>rectangle</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Times</font>
<textSize>14</textSize>
<textStyle>plain</textStyle>
<textHeight>14</textHeight>
<name>Return_Address</name>
<script>on mouseuphide meend mouseup</script>
</part>
<part>
<id>67</id>
<type>button</type>
<visible> <false /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>475</left>
<top>122</top>
<right>507</right>
<bottom>167</bottom>
</rect>
<style>transparent</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>12195</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>File</name>
<script>on mouseUphide meset lockMessages to trueset lockRecent to trueanswer "Do you want to EXPORT to or IMPORT from a TEXT file?"¬with "IMPORT" or "EXPORT" OR "Cancel"set cursor to watchif it is empty then exit mouseupelse if it = "IMPORT" then importTextelse if it = "Export" then exportTextend mouseUpon importTextset lockMessages to trueset lockRecent to true-- Select the Text File to Import ----------answer file "Select a text file:" of type "TEXT"set cursor to watchif it is empty then exit to hypercardput it into inFileopen file infileread from file infile until returnclose file infileif it = "COOL ADDRESS BOOK FILE" & returnthen ImportCoolText inFileelse importText inFileend importTexton ImportCoolText inFile--------------------------------------------------------------------- USES LOCAL VARIABLES:-- Infile = path to the TEXT file to be used-- Countfields = Number of fields in the imported TEXT file-- FieldList = Names of bg fields in the order they will be used-- InFileText = Total contents of inFile-- ItemNo = Number of items being examined or transfered from inFileText-- recordNo = the number of the currently imported record---------------------------------------------------------------------------------------------------------------------------------------- READS ENTIRE TEXT INTO VARIALBE inFileText AND SETS IT UP-------------------------------------------------------------------set cursor to watchopen file inFileread from file inFile until endclose file inFileput it into inFileTextdelete first line of inFileText -- DELETES THE FILE TYPE INFORMATIONlock screenpush card--------------------------------------------------------------------- PUTS THE INFORMATION INTO THE APPROPRIATE CARD FIELDS-------------------------------------------------------------------set the itemDelimiter to tab -- NEEDED TO PROPERLY READ FROM inFileTextput 0 into itemNoput 0 into RecordNorepeat --WILL JUMP OUT OF REPEAT LOOP AT THE END OF THE FIELDsend "AddNewCard" to bg button "new"add 1 to recordNoset cursor to busy-- put (itemNo + 1) into TEMPput "Importing record" && recordNo && "--" && item (itemNo + 1) of inFileTextrepeat with y = 1 to the number of bg fieldsif lockText of bg field y = falsethenadd 1 to itemNoput item ItemNo of inFileText into bg field yend ifend repeat -- end y repeatset the name of this card to bg field "Name"--------------------------------------------------------------------- SETS THE BG BUTTONS TO APPROPRIATE SETTINGS-------------------------------------------------------------------add 1 to ItemNoif item itemNo of inFileText = "false"then set hilight of bg button "business" to falseelse set hilight of bg button "business" to trueadd 1 to ItemNoif item itemNo of inFileText = "false"then set hilight of bg button "Mail" to falseelse set hilight of bg button "Mail" to trueif ItemNO = the number of items in inFileText then exit repeatend repeatpop cardhide messagesend RepairStack to bg button "repair"beep 2 -- put finished message hereend ImportCoolTexton importText inFile-- Uses local variables:-- Infile = path to the TEXT file to be used-- Countfields = Number of fields in the imported TEXT file-- FieldList = Names of bg fields in the order they will be used--------------------------------------------set lockMessages to falseset cursor to watch---------------------------------------------- countFields of the TEXT Fileput 0 into countFieldsopen file inFileput "dummy" into itrepeat until it is emptyread from file inFile until tabadd 1 to countFieldsif it contains return thenexit repeatend ifend repeatclose file inFile------------------------------------------------------------------------------------------ lining up incomming fields with bg fieldsopen file inFilerepeat with x = 1 to countFields - 1read from file inFile until tabdelete last character of itPut "Please choose field for, '" & it & "'" into Dialogueget chooseBGfield (Dialogue)put it & return After FieldListend repeat-- this does the same for the last fieldread from file inFile until returnPut "Please choose field for, '" & it & "'" into Dialogueget chooseBGfield (Dialogue)put it & return After FieldListclose file inFile-- all done!--------------------------------------------------------------------------open file inFileput 1 into recNum-- loops through the cards & fields until the end of file-- this usually creates one or two extra cards, but it-- was easy to code.put "dummy" into itrepeat until it is emptyput "Now on record #" & recNumdomenu "new card"repeat with x = 1 to countFields -1read from file inFile until tab-- this line removes the tabdelete last character of itrepeat while it contains quotedelete char offset(quote,it) of itend repeatput line x of FieldList into FieldNameif field FieldName is empty then put it into field FieldNameelse put "," & it after field FieldNameend repeat-- now do the same for the last fieldread from file inFile until returnput line (x+1) of FieldList into FieldNameif field FieldName is empty then put it into field FieldNameelse put "," & it after field FieldNameput empty into field "Don't Use"add 1 to recNumend repeatclose file inFile-- ALL DONE!hide messageanswer "Done!" && recNum && "records written" with "Ok"end importTexton exportText--------------------------------------------------------------------- THIS EXPORT TEXT IN SUCH A WAY THAT IT CAN ONLY BE PROPERLY ------ IMPORTED BY ANOTER COOL ADDRESS BOOK PROGRAM ----------------------------------------------------------------------------------------------------------------------------------------------------------- ASK FOR A NAME FOR THE TEXT FILE AND PUT IT INTO outFile --------- AND SETS UP A VARIABLE IN WHICH TO STORE ALL THE TEXT UNTIL ------ IT IS ACTUALLY TIME TO WRITE THE FILE IN outFileText ------------------------------------------------------------------------------set cursor to watchset lockMessages to trueset lockRecent to trueask file "My TEXT Backup"if it is empty then exit exportTextput it into outFileput empty into outFileTextset cursor to watch--------------------------------------------------------------------- PUTS LIST OF BG FIELD NAMES INTO TheLine ------------------------------------------------------------------------------------------repeat with b = 1 to the number of bg fieldsif lockText of bg field b = falsethen-- put quote after TheLineput the short name of bg field b after TheLine-- put quote after TheLineput tab after TheLineend ifend repeat -- end b repeat-- put return after TheLine--------------------------------------------------------------------- PUTS CONTENTS OF ALL UNLOCKED BG FIELD OF ALL CARDS INTO TheLine-- ALSO PUTS INFORMATION FROM Business AND Mail BUTTONS INTO theLine-- PUTS EACH LINE INTO outFileText-------------------------------------------------------------------repeat with x = 1 to the number of cards of this bgset cursor to busyput "Working on record" && x &&"out of" && the number of cards of this bgput empty into TheLinerepeat with y = 1 to the number of bg fieldsif lockText of bg field y of card x of this bg = falsethenif bg field y of card x of this bg is not emptythen-- put quote after TheLineput bg field y of card x of this bg after TheLine-- put quote after TheLineend ifput tab after TheLineend ifend repeat -- end y repeatput hilight of bg button "Business" of card x of this bg after TheLineput tab after TheLineput hilight of bg button "Mail" of card x of this bg after TheLineput tab after TheLine-- put Return after TheLineput Theline after OutFileTextend repeat -- end x repeat--------------------------------------------------------------------- PUTS A HEADER LINE B4 outFileText SO THE FILE WILL BE RECOGNIZED-- AS A "COOL ADDRESS BOOK FILE". THEN IT WRITES THE CONTENTS OF-- outFileText TO FILE outFile-------------------------------------------------------------------put "Saving information as" && outFilePut "COOL ADDRESS BOOK FILE" & return before outFileTextopen file outFilewrite outFileText to file outFileclose file outFilehide messageend exportText</script>
</part>
<part>
<id>68</id>
<type>field</type>
<visible> <false /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <false /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <false /> </lockText>
<rect>
<left>315</left>
<top>268</top>
<right>472</right>
<bottom>282</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Geneva</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<textHeight>16</textHeight>
<name>DON'T USE</name>
<script></script>
</part>
<part>
<id>74</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <true /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <true /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>65535</left>
<top>64</top>
<right>63</right>
<bottom>142</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>right</textAlign>
<font>Times</font>
<textSize>14</textSize>
<textStyle>plain</textStyle>
<textHeight>15</textHeight>
<name></name>
<script></script>
</part>
<part>
<id>75</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <true /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <true /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>65535</left>
<top>143</top>
<right>63</right>
<bottom>221</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>right</textAlign>
<font>Times</font>
<textSize>14</textSize>
<textStyle>plain</textStyle>
<textHeight>15</textHeight>
<name></name>
<script></script>
</part>
<part>
<id>76</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <true /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <true /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>65535</left>
<top>222</top>
<right>63</right>
<bottom>240</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>right</textAlign>
<font>Times</font>
<textSize>14</textSize>
<textStyle>plain</textStyle>
<textHeight>15</textHeight>
<name></name>
<script></script>
</part>
<part>
<id>77</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <true /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <true /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>65535</left>
<top>241</top>
<right>62</right>
<bottom>288</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>right</textAlign>
<font>Times</font>
<textSize>14</textSize>
<textStyle>plain</textStyle>
<textHeight>15</textHeight>
<name></name>
<script></script>
</part>
<part>
<id>78</id>
<type>field</type>
<visible> <false /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <true /> </sharedText>
<fixedLineHeight> <false /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>274</left>
<top>122</top>
<right>392</right>
<bottom>142</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Geneva</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<textHeight>16</textHeight>
<name>IndexType</name>
<script>on mouseuphide meend mouseup</script>
</part>
<part>
<id>80</id>
<type>field</type>
<visible> <false /> </visible>
<dontWrap> <true /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <true /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>488</left>
<top>156</top>
<right>505</right>
<bottom>273</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Geneva</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<textHeight>16</textHeight>
<name>ScrollBar</name>
<script>-- on mouseup-- set cursor to watch-- hide me-- click at the clickLoc-- show me-- end MouseUpon mousedownset cursor to watchput MaxValue() into MaxScrollput the location of me into TEMPPut item 1 of TEmp into Horzput the top of me + 9 into TOPput the bottom of me - 9 into BOTTOMset cursor to arrowrepeat while the mouse is downget the mousevif it > TOP and it < BOTTOM thenput (it - top) into Pixelelse if it < BOTTOM thenput (top - top) into Pixelelseput (Bottom - Top) into Pixelend ifput ScrollAmount(MaxScroll,Pixel,Top,Bottom) into TheScrollif the mouse is down then set scroll of bg field "index" to TheScrollend repeatend mousedownFunction ScrollAmount MaxScroll,Pixel,Top,Bottomreturn round((MaxScroll/(Bottom - Top))*Pixel)end ScrollAmountFunction MaxValueget (the textHeight of bg field "index")*(number of lines in bg field "index")return ((it - the height of bg field "index") + 20)end MaxValue</script>
</part>
<part>
<id>85</id>
<type>field</type>
<visible> <false /> </visible>
<dontWrap> <true /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <true /> </sharedText>
<fixedLineHeight> <false /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>277</left>
<top>104</top>
<right>511</right>
<bottom>294</bottom>
</rect>
<style>scrolling</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Geneva</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<textHeight>16</textHeight>
<name>Options</name>
<script>on mouseuphide meend mouseUp</script>
</part>
<part>
<id>87</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <true /> </dontWrap>
<dontSearch> <true /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <true /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>150</left>
<top>23</top>
<right>238</right>
<bottom>42</bottom>
</rect>
<style>shadow</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Times</font>
<textSize>14</textSize>
<textStyle>plain</textStyle>
<textHeight>18</textHeight>
<name>RecordNo</name>
<script>on mouseDownplay "click"end mouseDownon mouseupset cursor to watchask "Go to record #:"set cursor to watchlock screengo card it of this bgunlock screen with visual scroll down very fastend mouseupon mouseenterFullBalloons showDirect,"I show the current record and total" &&¬"number of records. Click me to jump to any record by number."end mouseenter</script>
</part>
<part>
<id>89</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <true /> </sharedText>
<fixedLineHeight> <false /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>0</left>
<top>0</top>
<right>512</right>
<bottom>19</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>outline</textStyle>
<textHeight>16</textHeight>
<name></name>
<script></script>
</part>
<part>
<id>91</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>0</left>
<top>0</top>
<right>21</right>
<bottom>18</bottom>
</rect>
<style>transparent</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <false /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>132</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name></name>
<script>on mouseUpif icon of me = 133thenset icon of me to "Close Box2"visual effect zoom close fastglobal modeif mode = "AddressBook" then go card "Address Title Screen"else if mode = "Contrabution" then go card "Contribution Title Screen"else go card 1end ifend mouseUpon mousedownplay "click"-- set icon of me to "Clicked Close Box2"repeat while the mouse is downif the mouseV < top of me then set icon of me to "Close Box2"elseif the mouseV > Bottom of me then set icon of me to "Close Box2"elseif the mouseH < Left of me then set icon of me to "Close Box2"elseif the mouseH > right of me then set icon of me to "Close Box2"else set icon of me to "Clicked Close Box2"end ifend ifend ifend repeatend Mousedownon mouseenterFullBalloons showDirect,"Click me to go to the main screen."end mouseenter</script>
</part>
<part>
<id>94</id>
<type>button</type>
<visible> <false /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>277</left>
<top>125</top>
<right>292</right>
<bottom>139</bottom>
</rect>
<style>transparent</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <false /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>3071</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Close</name>
<script>on mouseUpif icon of me = 3358thenglobal IndexShowlock screenif IndexShow = "True"then send mouseUP to bg button "index"set hilight of bg button "notes" to falsehide bg field "Notes"hide bg button " Notes"hide bg button "Close"show bg button "Notes"unlock screen with visual wipe down very fastset dontsearch of bg field "notes" to trueset icon of me to "Close Box2"end ifend mouseUpon mousedown-- set icon of me to "Clicked Close Box"repeat while the mouse is downif the mouseV < top of me then set icon of me to "Close Box2"elseif the mouseV > Bottom of me then set icon of me to "Close Box2"elseif the mouseH < Left of me then set icon of me to "Close Box2"elseif the mouseH > right of me then set icon of me to "Close Box2"else set icon of me to "Clicked Close Box"end ifend ifend ifend repeatend Mousedown</script>
</part>
<part>
<id>95</id>
<type>button</type>
<visible> <false /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>273</left>
<top>122</top>
<right>505</right>
<bottom>141</bottom>
</rect>
<style>opaque</style>
<showName> <true /> </showName>
<highlight> <true /> </highlight>
<autoHighlight> <false /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name> Index</name>
<script>on mouseUpset Hilight of me to trueend mouseUp</script>
</part>
<part>
<id>96</id>
<type>button</type>
<visible> <false /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>277</left>
<top>125</top>
<right>292</right>
<bottom>139</bottom>
</rect>
<style>transparent</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <false /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>3071</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>HideIndex</name>
<script>on mouseUpif icon of me = 3358thenlock screenhide mehide bg button " index"hide bg field "Index"hide bg field "ScrollBar"set hilight of bg button "index" to falseset hilight of bg button "notes" to (visible of bg field "notes")unlock screen with visual wipe down very fastset icon of me to "Close Box2"end ifend mouseUpon mousedown-- set icon of me to "Clicked Close Box"repeat while the mouse is downif the mouseV < top of me then set icon of me to "Close Box2"elseif the mouseV > Bottom of me then set icon of me to "Close Box2"elseif the mouseH < Left of me then set icon of me to "Close Box2"elseif the mouseH > right of me then set icon of me to "Close Box2"else set icon of me to "Clicked Close Box"end ifend ifend ifend repeatend Mousedown</script>
</part>
<part>
<id>97</id>
<type>button</type>
<visible> <false /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>358</left>
<top>23</top>
<right>390</right>
<bottom>68</bottom>
</rect>
<style>transparent</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>130</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Gifts</name>
<script>on mouseUpset cursor to watchif there is not a window giftsthentextoid Gifts,"bg field Gifts",BigWindoidZoom,Black,rect of bg field "Gifts"¬,false,the textFont of bg field Gifts,the textSize of bg field Gifts,Plainset dontsearch of bg field gifts to falseelseshow window giftsend ifend mouseUp</script>
</part>
<part>
<id>98</id>
<type>field</type>
<visible> <false /> </visible>
<dontWrap> <true /> </dontWrap>
<dontSearch> <true /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <false /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>273</left>
<top>140</top>
<right>505</right>
<bottom>288</bottom>
</rect>
<style>scrolling</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Helvetica</font>
<textSize>9</textSize>
<textStyle>plain</textStyle>
<textHeight>12</textHeight>
<name>Gifts</name>
<script>on mouseuphide meend mouseup</script>
</part>
<part>
<id>100</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <false /> </enabled>
<rect>
<left>409</left>
<top>23</top>
<right>441</right>
<bottom>68</bottom>
</rect>
<style>transparent</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <false /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>150</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Sort</name>
<script>on mousedownplay "click"end mousedownon mouseupupdateSortend mouseupon SwitchOnset icon of me to "sort2"enable meenable menuitem "sort records" of menu "Edit"end SwitchONon SwitchOff-- set icon of me to "sortGrey2"disable medisable menuitem "sort records" of menu "Edit"end SwitchOffon mouseenterFullBalloons showDirect,"Click me to sort the records." & return &¬"Note: This is done automatically when there is a break" &&¬"in activity."end mouseenter</script>
</part>
<part>
<id>101</id>
<type>field</type>
<visible> <false /> </visible>
<dontWrap> <true /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <true /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>198</left>
<top>142</top>
<right>319</right>
<bottom>294</bottom>
</rect>
<style>scrolling</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <true /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Helvetica</font>
<textSize>10</textSize>
<textStyle>plain</textStyle>
<textHeight>13</textHeight>
<name>People Index</name>
<script>on mouseDownhide meend mouseDown</script>
</part>
<part>
<id>102</id>
<type>field</type>
<visible> <false /> </visible>
<dontWrap> <true /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <true /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>417</left>
<top>151</top>
<right>512</right>
<bottom>296</bottom>
</rect>
<style>scrolling</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <true /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Helvetica</font>
<textSize>10</textSize>
<textStyle>plain</textStyle>
<textHeight>13</textHeight>
<name>Mail Index</name>
<script>on mouseDownhide meend mouseDown</script>
</part>
<part>
<id>103</id>
<type>field</type>
<visible> <false /> </visible>
<dontWrap> <true /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <true /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>323</left>
<top>151</top>
<right>418</right>
<bottom>296</bottom>
</rect>
<style>scrolling</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <true /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Helvetica</font>
<textSize>10</textSize>
<textStyle>plain</textStyle>
<textHeight>13</textHeight>
<name>Business Index</name>
<script>on mouseDownhide meend mouseDown</script>
</part>
<part>
<id>105</id>
<type>field</type>
<visible> <false /> </visible>
<dontWrap> <true /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <true /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>337</left>
<top>182</top>
<right>432</right>
<bottom>285</bottom>
</rect>
<style>scrolling</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <true /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Helvetica</font>
<textSize>10</textSize>
<textStyle>plain</textStyle>
<textHeight>13</textHeight>
<name>FindIndex</name>
<script>on mouseDownhide meend mouseDown</script>
</part>
<part>
<id>111</id>
<type>button</type>
<visible> <false /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>358</left>
<top>70</top>
<right>390</right>
<bottom>115</bottom>
</rect>
<style>transparent</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <false /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>20186</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Repair</name>
<script>on mouseupAnswer "If you computer crashed while this program was open, some " &¬"indexes may be incorrect. Would you like to rebuild the indexes " &¬"from scratch?" with no or yesif it is yes then repairStack--------Answer "If you import records from another program or from earlier" && ¬"versions of this program, you might have return & tab characters where" && ¬"they do not belong. Correcting this problem may take a LONG time." && ¬"Do you want to do this?" with yes or noif it is yes then removeAllRetTabend mouseupon repairStackset cursor to watchif there is a window "message" then put "Creating New Indexes"sortIt NamecreateIndexesPutCardsIntoRamglobal NewRecordput "False" into NewRecordif there is a window "message"thenput emptyhide messageend ifdisable bg button "Sort" --opencardplay "knock3"end repairStackon sortIt SortTypeLock screenpush this cardif SortType = "Mail" then byMailif SortType = "Business" then byBusinessif SortType = "Name" then byNamepop cardunlock screenend sortIton byMailsort cards of this bg by hilight of bg button "Mail" && bg field "name"end byMailon byBusinesssort cards of this bg by hilight of bg button "Business" && bg field "name"end byBusinesson byNamesort cards of this bg by bg field "name"end bynameon createIndexes-- These variables need to be clean for laterput empty into AllRecordsIndexput empty into MailIndexput empty into BusinessIndexput empty into PeopleIndex-- The next two lines set up the numbers to make indexes for only this bgput the number of the first card of this bg into startNoput the number of the last card of this bg into endNo-- This loop builds the various indexesrepeat with curCard = StartNo to EndNoif bg field "name" of card curCard is emptythen set the name of card curCard to " No Name"put (the short name of card curCard) into CardNameput CardName & return after AllRecordsIndex --*if hilight of bg button "Mail" of card curCard is trueThen put CardName & return after MailIndex --*if hilight of bg button "Business" of card curCard is trueThen put CardName & return after BusinessIndex --*Else put CardName & return after PeopleIndex --*set cursor to busyend repeatsort lines of AllRecordsIndexsort lines of MailIndexsort lines of BusinessIndexsort lines of PeopleIndexput AllRecordsIndex into bg field "All Records Index"put MailIndex into bg field "Mail Index"put BusinessIndex into bg field "Business Index"put PeopleIndex into bg field "People Index"end createIndexeson PutCardsIntoRamlock screenshow all cardsunlock screenend PutCardsIntoRamon removeAllRetTabset lockMessages to trueset lockRecent to truepush this cardlock screenput the number of cards of this bg into TotalCardsput the number of bg fields into TotalFieldsrepeat with x = 1 to TotalCardsset cursor to busygo card x of this bgsend exitfield to bg field "Name"send exitfield to bg field "Mailing"send exitfield to bg field "Street"send exitfield to bg field "CityState"send exitfield to bg field "Zip"send exitfield to bg field "HPhone1"send exitfield to bg field "HPhone2"send exitfield to bg field "WPhone1"send exitfield to bg field "WPhone2"put "Reparing Record" && x && "out of" && TotalCardsrepeat with FieldNo = 1 to TotalFieldsif bg field FieldNo contains tabthenput "Removing Tabs From: " & short name of bg field FieldNoRemoveTabs (FieldNo)end ifend repeatend repeatpop cardhide messageend removeAllRetTab</script>
</part>
<part>
<id>112</id>
<type>button</type>
<visible> <false /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>429</left>
<top>124</top>
<right>461</right>
<bottom>169</bottom>
</rect>
<style>transparent</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <false /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>20186</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>View</name>
<script>-- it is not worth it to have this feature right nowon Mousedown--- Establish Kind of Sort ----------global ViewTypeput "All Records,Business,People,Mail" into TheListget FullHPop(TheList)if it ≠ empty then put item 1 of it into ViewTypeelse exit MousedownMarkIt ViewTypeend Mousedownon MarkIt ViewTypeLock screenset cursor to watchput ViewType into bg field "SortType"unmark all cardsif ViewType = "All Records"thenMark cards where there is a bg button "Business"end ifif ViewType = "Business"thenMark cards where short name of this card is in bg field "business index"end ifif ViewType = "People"thenrepeat with x = 1 to the number of lines in bg field "people index"mark card line x of bg field "people index"set cursor to busyend repeat-- Mark cards where short name of this card is in bg field "people index"end ifif ViewType = "Mail"thenMark cards where short name of this card is in bg field "mail index"end ifunlock screenend MarkIt</script>
<script>on openbackgroundif there is a menuItem "Sort Selected" of menu "Edit"then enable menuitem "Sort Selected" of menu "Edit"if there is a menuItem "Print Notes" of menu "File"then enable menuitem "Print Notes" of menu "File"set dontsearch of this bg to false-----------global mode -- which program is calling this bgif mode = "AddressBook"thenhide bg button "Gifts" -- not needed for A.B.set locktext of bg field "Gifts" to true -- allows for proper importingend ifif mode = "Contrabution"thenshow bg button "Gifts" -- needed for C.C.set locktext of bg field "Gifts" to false -- allows for proper exportingglobal UpdateAddress -- used by the "Adding Machine" people list on open bgput "True" into UpdateAddressput "True" into card field "UpdateAddress" of card "Contribution Title Screen"end if----------------global indexType -- what index is the defaultput bg field "indexType" into indexTypeset checkMark of menuItem "ALL RECORDS INDEX" of menu "Go" to FALSEset checkMark of menuItem "BUSINESS INDEX" of menu "Go" to FALSEset checkMark of menuItem "PEOPLE INDEX" of menu "Go" to FALSEset checkMark of menuItem "MAIL INDEX" of menu "Go" to FALSEset checkMark of menuItem IndexType of menu "Go" to trueend openbackgroundon closebackgroundglobal NewRecordif NewRecord = "True"then updateSortif there is a window notes then close window notesif there is a window gifts then close window giftsif there is a menuItem "Sort Selected" of menu "Edit"then disable menuitem "Sort Selected" of menu "Edit"if there is a menuItem "Print Notes" of menu "File"then disable menuitem "Print Notes" of menu "File"set dontsearch of this bg to trueend closebackgroundon closecard-- global IScroll-- put scroll of bg field "index" into IScrollset the name of this card to bg field "name"-- UpdateWindowsFields Gifts -- I do not wan the user to be able to change the gifts manually.UpdateWindowsFields Notesend closecardon opencard-- global IScroll-- set scroll of bg field "index" to Iscrollput the number of the first card of this bg -1 into StartNoput number of this card - startno && "/" && number of cards of this bg into bg field "RecordNO"play "Slide"UpdateWindows GiftsUpdateWindows Notesend opencard------------------------------------------------------------------------on RemoveReturnsplay "knock3"set cursor to watchput target into OldTemprepeat with x = 1 to the number of characters in OldTempif char x of OldTemp <> return then put char x of OldTemp after tempend repeatput TEMP into targetend RemoveReturnson RemoveTabs FieldNoput the number of characters in bg field FieldNo into TotalCharput bg field FieldNo into OldTextrepeat with CharNo = 1 to TotalCharif char CharNo of OldText = tabthenput " " into char CharNo of OldTextend ifend repeatput oldText into bg field FieldNoend RemoveTabs------------------------------------------------------------------------Function ChooseBGField Dialogueset Cursor to watchget GetBG()return item 2 of singlePick (it,Dialogue)end ChooseBGFieldFunction GetBG -- use for importingrepeat with x = 1 to the number of bg fieldsif lockText of bg field x = "false"thenput short name of bg field x into TempHolderPut TempHolder & return after TheListend ifend repeatsort lines of TheListreturn TheListend GetBGFunction SinglePick TheList,Dialogueget XScrollBox(1,Dialogue,TheList)if it is "Help" thenanswer "You pushed the 'Help' button."else if it is empty thenanswer "You pushed the 'Cancel' button."elseput it into Theanswerreturn TheAnswerend ifend singlePickon multiplePickput "1,3,5" into initialget XScrollBoxM(initial,"Choose among these:",card field "scroller","Help")go this cardif it is "Help" thenanswer "You pushed the 'Help' button."else if it is empty thenanswer "You pushed the 'Cancel' button."elseput (the number of items in it div 2) into countif count is 1 then put "item" into itemWordelse put "items" into itemWordanswer "You chose" && count && itemWord & "."end ifend multiplePick----------- Dialing the phone ---------on dialNumber whichFld-- dial the phone with a specified number.put bg fld whichFld into phoneNumberput bg fld whichFld into phoneNumber2if phoneNumber is empty thenask "What phone number would you like dialed?"if the result is "Cancel" or it is empty then exit dialNumberput it into phoneNumberend ifput stripNonDials (phoneNumber) into PHoneNumberput "Ready to dial" && phoneNumber2 &"." & return &¬"Pick up your phone and then select one of the two methods of dialing."¬& return &"(With Audio you will need to hold phone up to mac speaker.)"¬into TEMPanswer TEMP with "Cancel" or "Audio" or "Modem"if it = "Audio" then dial phoneNumberelse if it = "Modem" then dial phoneNumber with modemend dialNumberfunction stripNonDials dialNumber-- ∆ remove all "non phone" charactersrepeat with count = the length of dialNumber down to 1if char count of dialNumber is not in "0123456789,*#"then delete char count of dialNumberend repeatreturn dialNumberend stripNonDialson domenu xif x = "New Card"thensend mouseup to bg button "new"else pass domenuend domenuon idleglobal NewRecordif NewRecord = "True"thenglobal TickTime,StartTimeput the ticks - TickTime into TimeSpanput 1 into minuteDelay -- will be a bg field variableif TimeSpan < 75thenif the ticks - StartTime > MinuteDelay*60*60thenupdateSortput "False" into NewRecordend ifelseput the ticks into StartTimeend ifput the ticks into TickTime-- put (the ticks - StartTime) && MinuteDelay*60*60end ifend idleon updateSortPicture "PleaseWait",resource,Dialogglobal NewRecordlock screenclosecardset lockMessages to trueset lockRecent to trueset cursor to watchpush cardsort cards of this bg by bg field "name"pop cardput "False" into NewRecordsend SwitchOff to bg button "Sort"-- set icon of bg button "Sort" to "SortGrey"unlock screenopencardif there is a window "PleaseWait" then close window "PleaseWait"end UpdateSorton SortSelectedif there is not a window Notes then exit SortSelectedget selectedText of window Notesif it is empty then exit SortSelectedrepeat with x = 1 to the number of lines in itif line x of it is not a numberthensort lines of itset the selectedText of window Notes to itexit SortSelectedend ifend repeatsort it numericset the selectedText of window Notes to itend SortSelectedon PrintNoteslock screenif there is a window notes then UpdateWindowsFields Notesput bg field "name" & Return & return before bg Field Notesprint bg field "Notes"delete line 1 of bg field notesdelete line 1 of bg field notesunlock screenend PrintNotesOn PrintItset cursor to watchclosecard -- housekeeping-- THIS WILL ALLOW THE USER TO CHOOSE ANY TEMPLATE AVAILABLE ----------------put ReportTemplates of this stack into TheListsort lines of TheListrepeat with num = the number of lines in TheList down to 1if line num of theList contains "•" then delete line Num of theListend repeatget XScrollBox(1,"Choose Report / Type Name or Select:",TheList)if it is empty then exit printitdelete item 1 of itput it into TheTemplate-- THIS ALLOWS THE USER TO CHOOSE WHO HE WANTS TO INCLUDE IN THE PRINT OUT ---put "All Records" & return into TheListput "Business Records" & return after TheListPut "Just This Record" & return after TheListPut "Marked to Mail" & return after TheListPut "People Records" & return after TheListget XScrollBox(1,"Which records do you want to include?",TheList)if it is empty then exit printitdelete item 1 of itput it into TheRecords-- THIS MARKS THE APPROPRIATE CARDS AND PRINTS THEM WITH THE TEMPLATE ----------doMenu "Page Setup..." -- this allows the user to switch to envelope etc...unmark all cardsif TheRecords = "All Records"then mark cards where bg field "name" is in bg field "All Records Index"if TheRecords = "Business Records"then mark cards where bg field "name" is in bg field "Business Index"if TheRecords = "Just This Record"then mark this cardif TheRecords = "Marked to Mail"then mark cards where bg field "name" is in bg field "Mail Index"if TheRecords = "People Records"then mark cards where bg field "name" is in bg field "People Index"if the number of marked cards = 0thenplay "knock3"Answer "There are no records that match your selection."elsepush cardlock screengo to card 1 of this bgopen report printing with template TheTemplateprint marked cardsclose printingpop cardend ifend PrintIton importItsend "importText" to bg button "File"end importIton exportItsend "exportText" to bg button "File"end exportIton CurIndexsend ShowIndex to bg button "Index"end CurIndexon Index xglobal IndexTypeset checkMark of menuItem IndexType of menu "Go" to falseput x into IndexTypeput indexType into bg field "IndexType"set checkMark of menuItem IndexType of menu "Go" to truesend ShowIndex to bg button "Index"end Indexon DeletePagesend Mouseup to bg button "delete"end DeletePage</script>